home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SuperHack
/
SuperHack CD.bin
/
SCRIPTZ
/
SUPERSTA.ZIP
/
supersta.txt
Wrap
Text File
|
1996-12-29
|
6KB
|
184 lines
******************************
* The Ultimate Channel stats *
* ========================== *
******************************
Greets 2 u whoever you are;-)
Channel statistics have come a looooooong way since giving
ops, non-ops and total ;-)
Please find, occupying the few dozen lines below, the Ultimate
channel stats script, including ppl stats and server stats.
Small warning, when run this will give you a slight flood in your
status window, cos it has to do, and listen for the results from,
a /whois on everyone in the channel.
This lit goes in your alias'
/Stats {
set %statnickcheck on
write -c c:\servers.txt
write -c c:\stats.txt
set %servno 1
:servstart
if %servtype [ $+ [ %servno ] ] != $null {
set %servtype [ $+ [ %servno ] ]
set %servnum [ $+ [ %servno ] ]
inc %servno 1
goto servstart
}
else {
unset %10op
unset %10nop
unset %10away
unset %10here
unset %10vnick
set %pops 0
set %pnops 0
set %paway 0
set %phere 0
set %pvnick 0
unset %stataddress
unset %server
unset %qservernum
unset %nickletter
set %statletter 0
set %anicks 0
set %hnicks 0
set %vnicks 0
set %ircnicks 0
set %servnum 0
set %statnick 1
set %statnickdone 0
set %statclones 0
set %hops 0
set %avehops 0
set %myserver $server
set %nickletter $rand(a,z)
set %totnick $nick(0,%schan)
;set %stattime 0 | timer101 0 1 inc %stattime 1
:start
if %statnick > %totnick halt
else who $nick(%statnick,%schan)
inc %statnick 1
goto start
}
}
So does this
/percent {
%10op = [ $opnick(0,%schan) ] * 100
%10nop = [ $nopnick(0,%schan) ] * 100
%10away = [ %anicks ] * 100
%10here = [ %hnicks ] * 100
%10vnick = [ %vnicks ] * 100
%10ircnick = [ %ircnicks ] * 100
%pops = [ %10op ] / $nick(0,%schan)
%pnops = [ %10nop ] / $nick(0,%schan)
%paway = [ %10away ] / $nick(0,%schan)
%phere = [ %10here ] / $nick(0,%schan)
%pvnick = [ %10vnick ] / $nick(0,%schan)
%pircop = [ %10ircnick ] / $nick(0,%schan)
%avehops = [ %hops ] / $nick(0,%schan)
%ratio = $nopnick(0,%schan) / $opnick(0,%schan)
set %servno 1
:servmsgst
if %servnum [ $+ [ %servno ] ] != $null {
set %100serv %servnum [ $+ [ %servno ] ] * 100
set %servperc [ %100serv ] / $nick(0,%schan)
unset %writestats
if %servtype [ $+ [ %servno ] ] = %myserver {
write c:\servers.txt Server %servno $+ ) %servnum [ $+ [ %servno ] ] ppl on $token(1,46, %servtype [ $+ [ %servno ] ] ) $+ * ( $+ %servperc $+ [ % ] usage)
}
if %servtype [ $+ [ %servno ] ] != %myserver {
write c:\servers.txt Server %servno $+ ) %servnum [ $+ [ %servno ] ] ppl on $token(1,46, %servtype [ $+ [ %servno ] ] ) ( $+ %servperc $+ [ % ] usage)
}
:nextserv
inc %servno 1
goto servmsgst
}
if %nickstats = on {
write c:\stats.txt %schan statistix...
write c:\stats.txt Tot ------ <ò> [ $nick(0,%schan) ]
write c:\stats.txt Ops ------ <ò> [ $opnick(0,%schan) ] ( $+ %pops $+ [ % ] $+ )
write c:\stats.txt Non-ops -- <ò> [ $nopnick(0,%schan) ] ( $+ %pnops $+ [ % ] $+ )
write c:\stats.txt IRC ops -- <ò> %ircnicks ( $+ %pircop $+ [ % ] $+ )
write c:\stats.txt Op:Non-Op Ratio <ò> 1: $+ %ratio
write c:\stats.txt Here ----- <ò> %hnicks ( $+ %phere $+ [ % ] $+ )
write c:\stats.txt Away ----- <ò> %anicks ( $+ %paway $+ [ % ] $+ )
write c:\stats.txt Voiced --- <ò> %vnicks ( $+ %pvnick $+ [ % ] $+ )
write c:\stats.txt Ave Hops - <ò> %avehops
write c:\stats.txt Clones --- <ò> %statclones
write c:\stats.txt Servers -- <ò> [ $lines(c:\servers.txt) ]
;Time to compile <ò> %stattime seconds
write c:\stats.txt Ppl with an ' %nickletter ' in their nick <ò> %statletter
play %schan c:\stats.txt 2000
}
if %servmsg = on {
msg %schan There are $lines(c:\servers.txt) servers in use on %schan (* denotes my own)
play %schan c:\servers.txt 2000
}
}
This is how to run 'em, put it in your popups (channel)
Stat
.Stats:set %servmsg off | set %schan # | set %nickstats on | stats
.Servers:set %servmsg on | set %nickstats off | set %schan # | stats
And this whatmajig enjoys spending most of it's time in your RAW
section of your remote.
352:*: {
if %statnickcheck = on {
inc %statnickdone 1
if g isin $parm7 inc %anicks 1
if h isin $parm7 inc %hnicks 1
if + isin $parm7 inc %vnicks 1
if * isin $parm7 inc %ircnicks 1
if %nickletter isin $parm6 inc %statletter 1
set %hops %hops + $parm8
set %servno 1
:servstart
if %servtype [ $+ [ %servno ] ] = $null {
set %servtype [ $+ [ %servno ] ] $parm5
set %servnum [ $+ [ %servno ] ] 1
goto chkclones
}
if %servtype [ $+ [ %servno ] ] = $parm5 {
inc %servnum [ $+ [ %servno ] ] 1
goto chkclones
}
if %servtype [ $+ [ %servno ] ] != $parm5 { inc %servno 1 | goto servstart }
:chkclones
if $parm4 !isin %stataddress { set %stataddress %stataddress $parm4 | goto end }
else inc %statclones 1
:end
if %statnickdone = %totnick percent
}
}
And, uhh, thats it really. Damn good use of 137 lines of mIRC script
space if u ask me.....mebbee.
mIRC 4.6 at least!!
Obviously u can do whattevver you want, but if you include this script in a bot,
I'd appreciate a mention of my nick, and The <ò> Aut0Bot <ò>, cheerz.
Make sure listening's 'on'
Hi'z to oH_yEaH, Wichita-Guy, ^monty, MEK and sumWOMAN
*****************************************************
* The Ultimate Channel stats, part of The Aut0Bot, *
* ⌐1996 written by Phillip Renfield aka _Qu^rtZ_ *
*****************************************************
ps - this only works properly on DALnet